home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1984-08-20 | 7.8 KB | 245 lines |
- 10 REM
- 20 REM PROGRAM FOR CHECKBOOK BALANCING
- 30 REM CLEAR THE SCREEN
- 40 DIM CK#(99),DP#(99)
- 50 GOSUB 2910
- 60 REM GET BANK STATEMENT INVOICE
- 70 INPUT " Enter the bank statement balance please: ";BB#
- 80 GOSUB 2910
- 90 PRINT "Enter the outstanding deposits (deposits you have made, but "
- 100 PRINT "that have not been shown on your bank statements)."
- 110 PRINT
- 120 PRINT "After you have entered your last outstanding deposit, enter -1."
- 130 PRINT
- 140 ID% = 0
- 150 ID% = ID% + 1
- 160 PRINT " Enter deposit amount (-1. ends entries):";ID%;" = ";
- 170 INPUT DP#(ID%)
- 180 IF(DP#(ID%)<>-1) GOTO 150
- 190 GOSUB 2910
- 200 PRINT "Enter your outstanding checks (checks you have written, but"
- 210 PRINT "that have not been returned with your bank statements)."
- 220 PRINT
- 230 PRINT " After you have entered your last outstanding check, enter -1."
- 240 PRINT
- 250 IC% = 0
- 260 IC% = IC% + 1
- 270 PRINT " Enter check amount (-1. ends entries):";IC%;" = ";
- 280 INPUT CK#(IC%)
- 290 IF(CK#(IC%)<>-1) GOTO 260
- 300 GOSUB 2910
- 310 INPUT " Enter your checkbook balance please: ";CB#
- 320 ID%=ID% - 1
- 330 IC% = IC% - 1
- 340 GOSUB 360
- 350 GOTO 1050
- 360 REM CLEAR SCREEN
- 370 GOSUB 2910
- 380 REM CALCULATE AND PRINT TO SCREEN AND PRINTER
- 390 PRINT "Enter P to get printer output. Otherwise, enter any key: "
- 400 INPUT PT$
- 410 PRINT " COMPLETING CALCULATIONS NOW:"
- 420 PRINT
- 430 PRINT USING " $$######.##";BB#;
- 440 PRINT " = bank statement balance"
- 450 PRINT
- 460 IF (PT$<>"P") GOTO 550
- 470 REM SEND TO THE PRINTER
- 480 LPRINT CHR$(12)
- 490 LPRINT
- 500 LPRINT "C H E C K B O O K B A L A N C I N G P R O G R A M :"
- 510 LPRINT
- 520 LPRINT USING "$$######>##";BB#;
- 530 LPRINT " = bank statement balance"
- 540 LPRINT
- 550 BC#=BB#
- 560 IF(ID%=0)GOTO 650
- 570 FOR I = 1 TO ID%
- 580 BC# = BC# + DP#(I)
- 590 PRINT USING " $$######.##";DP#(I);
- 600 PRINT " (";I;" = deposit entry number)"
- 610 IF (PT$<>"P")GOTO 640
- 620 LPRINT USING "$$######>##";DP#(I);
- 630 LPRINT " (";I;" = DEPOSIT ENTRY NUMBER)"
- 640 NEXT I
- 650 PRINT
- 660 IF (PT$<>"P")GOTO 680
- 670 LPRINT
- 680 IF(IC%=0)GOTO 770
- 690 FOR I = 1 TO IC%
- 700 BC#=BC#-CK#(I)
- 710 PRINT USING " $$######.##";CK#(I);
- 720 PRINT " (";I;" = check entry number)"
- 730 IF(PT$<>"P")GOTO 760
- 740 LPRINT USING "$$######.##";CK#(I);
- 750 LPRINT " (";I;" = check entry number)"
- 760 NEXT I
- 770 PRINT
- 780 IF(PT$<>"P")GOTO 800
- 790 LPRINT
- 800 PRINT USING " $$######.##";CB#;
- 810 PRINT " = check book balance"
- 820 PRINT
- 830 IF(PT$<>"P")GOTO 870
- 840 LPRINT USING "$$######.##";CB#;
- 850 LPRINT " = checkbook balance"
- 860 LPRINT
- 870 PRINT USING " $$######.##";BC#;
- 880 PRINT " = statement + deposits - checks"
- 890 PRINT
- 900 IF(PT$<>"P")GOTO 940
- 910 LPRINT USING "$$######.##";BC#;
- 920 LPRINT " = statement + deposits - checks"
- 930 LPRINT
- 940 DF# = BC# - CB#
- 950 PRINT USING " $$######.##";DF#;
- 960 PRINT " = DIFFERENCE between the check book balance and"
- 970 PRINT " the calculated balance."
- 980 IF(PT$<>"P")GOTO 1010
- 990 LPRINT USING "$$######>##";DF#;
- 1000 LPRINT " = AMOUNT OUT OF BALANCE"
- 1010 PRINT
- 1020 PRINT "ENTER to continue."
- 1030 INPUT A$
- 1040 RETURN
- 1050 GOSUB 2910
- 1060 PRINT "ENTER THE NUMBER OF THE ACTION YOU WANT TO TAKE:"
- 1070 PRINT
- 1080 PRINT " 1 = CHANGE the bank STATEMENT balance"
- 1090 PRINT " 2 = CHANGE one of the DEPOSIT amounts"
- 1100 PRINT " 3 = CHANGE one of the CHECK amounts"
- 1110 PRINT " 4 = CHANGE the check BOOK balance"
- 1120 PRINT
- 1130 PRINT " 5 = ADD a DEPOSIT"
- 1140 PRINT " 6 = ADD a CHECK"
- 1150 PRINT
- 1160 PRINT " 7 = REMOVE a DEPOSIT"
- 1170 PRINT " 8 = REMOVE a CHECK"
- 1180 PRINT
- 1190 PRINT " 9 = CALCULATE balance again"
- 1200 PRINT
- 1210 PRINT " 10 = END the program"
- 1220 PRINT
- 1230 INPUT " ENTER your choice now, please: ";IN$
- 1240 IF(IN$="1")GOTO 1360
- 1250 IF(IN$="2")GOTO 1480
- 1260 IF(IN$="3")GOTO 1710
- 1270 IF(IN$="4")GOTO 1940
- 1280 IF(IN$="5")GOTO 2060
- 1290 IF(IN$="6")GOTO 2150
- 1300 IF(IN$="7")GOTO 2240
- 1310 IF(IN$="8")GOTO 2560
- 1320 IF(IN$="9")GOTO 2880
- 1330 IF(IN$="10")GOTO 2980
- 1340 INPUT "You MUST enter a # between 1 and 10! ENTER to CONTINUE";IN$
- 1350 GOTO 1050
- 1360 GOSUB 2910
- 1370 REM CHANGE the bank STATEMENT balance
- 1380 PRINT USING " $$######.##";BB#;
- 1390 PRINT " = CURRENT bank statement balance"
- 1400 PRINT
- 1410 PRINT "Enter a NEW bank statement balance, or enter -1. to keep ";
- 1420 PRINT "the CURRENT balance: "
- 1430 PRINT
- 1440 INPUT IN#
- 1450 IF(IN#=-1)GOTO 1050
- 1460 BB# = IN#
- 1470 GOTO 1050
- 1480 GOSUB 2910
- 1490 REM CHANGE one of the DEPOSIT amounts
- 1500 PRINT "Enter the deposit ENTRY NUMBER for the deposit you want ";
- 1510 INPUT "to change";CH%
- 1520 PRINT
- 1530 REM MAKE SURE THE NUMBER ENTERED IS NOT LARGER THAN THE LARGEST
- 1540 REM DEPOSIT ENTRY NUMBER AND BRANCH TO ERROR MESSAGE IF IT IS LARGER
- 1550 IF (CH%>ID%) GOTO 1680
- 1560 PRINT "The CURRENT deposit amount is:"
- 1570 PRINT
- 1580 PRINT USING " $$######.##";DP#(CH%);
- 1590 PRINT " (";CH%;" = deposit entry number)"
- 1600 PRINT
- 1610 PRINT "Enter a NEW deposit amount, or enter -1. to keep";
- 1620 PRINT "the CURRENT amount: "
- 1630 PRINT
- 1640 INPUT IN#
- 1650 IF (IN#=-1) GOTO 1050
- 1660 DP#(CH%) = IN#
- 1670 GOTO 1050
- 1680 PRINT ID%;" is the largest input value possible. Enter any key to "
- 1690 INPUT :TRY AGAIN: ";in$
- 1700 GOTO 1480
- 1710 GOSUB 2910
- 1720 REM CHANGE one of the CHECK amounts
- 1730 PRINT "Enter the check ENTRY NUMBER for the check you want ";
- 1740 INPUT "to change";CH%
- 1750 PRINT
- 1760 REM MAKE SURE THE NUMBER ENTERED IS NOT LARGER THAN THE LARGEST
- 1770 REM CHECK ENTRY NUMBER AND BRANCH TO ERROR MESSAGE IF IT IS LARGER
- 1780 IF (CH%>IC%) GOTO 1910
- 1790 PRINT "The CURRENT check amount is:"
- 1800 PRINT
- 1810 PRINT USING " $$######>##";CK#(CH%);
- 1820 PRINT " (";CH%;" = check entry number)"
- 1830 PRINT
- 1840 PRINT "Enter a NEW check amount, or enter -1. to keep ";
- 1850 PRINT "the CURRENT amount: "
- 1860 PRINT
- 1870 INPUT IN#
- 1880 IF (IN#=-1) GOTO 1050
- 1890 CK#(CH%) = IN#
- 1900 GOTO 1050
- 1910 PRINT IC%;" is the largest input value possible. Enter any key to"
- 1920 INPUT "try again: ";IN$
- 1930 GOTO 1710
- 1940 GOSUB 2910
- 1950 REM CHANGE the check BOOK balance
- 1960 PRINT USING " $$######.##";CB#;
- 1970 PRINT " = CURRENT check book balance"
- 1980 PRINT
- 1990 PRINT "Enter a NEW check book balance, or enter -1. to keep ";
- 2000 PRINT "the CURRENT balance: "
- 2010 PRINT
- 2020 INPUT IN#
- 2030 IF(IN#=-1)GOTO 1050
- 2040 CB# = IN#
- 2050 GOTO 1050
- 2060 GOSUB 2910
- 2070 REM ADD a DEPOSIT
- 2080 PRINT "Enter the NEW deposit amount, or enter -1. to return ";
- 2090 PRINT "WITHOUT adding "
- 2100 INPUT "a deposit: ";IN#
- 2110 IF (IN#=-1) GOTO 1050
- 2120 ID% = ID% + 1
- 2130 DP#(ID%) = IN#
- 2140 GOTO 1050
- 2150 GOSUB 2910
- 2160 REM ADD a CHECK
- 2170 PRINT "Enter the NEW check amount, or enter -1. to return";
- 2180 PRINT "WITHOUT adding"
- 2190 INPUT "a check: ";IN#
- 2200 IF (IN#=-1) GOTO 1050
- 2210 IC% = IC% + 1
- 2220 CK#(IC%) = IN#
- 2230 GOTO 1050
- 2240 GOSUB 2910
- 2250 REM REMOVE a DEPOSIT
- 2260 PRINT "Enter the deposit ENTRY NUMBER for the deposit you want ";
- 2270 INPUT "to remove";CH%
- 2280 PRINT
- 2290 REM MAKE SURE THE NUMBER ENTERED IS NOT LARGER THAN THE LARGEST
- 2300 REM DEPOSIT ENTRY NUMBER AND BRANCH TO ERROR MESSAGE IF IT IS LARGER
- 2310 IF (CH%>ID%) GOTO 2530
- 2320 PRINT "The CURRENT deposit amount is:"
- 2330 PRINT
- 2340 PRINT USING " $$######.##";DP#(CH%);
- 2350 PRINT " (";CH%;" = deposit entry number)"
- 2360 PRINT
- 2370 PRINT "Enter KILL to REMOVE this deposit, or enter any key to keep";
- 2380 PRINT "the CURRENT amount: "
- 2390 PRINT
- 2400 INPUT IV$
- 2410 IF(IV$<>"KILL") GOTO 1050
- 2420 IF (CH%<ID%) GOTO 2460
- 2430 ID% = ID% - 1
- 2440 DP#(CH%) = 0
-